In many software system architectures, the most critical and time consuming functions are the control functions. There are various different types of control functions, some of which need to occur at once and others that can wait for a period of time. Also, it is necessary that the control functions be performed before the data frames can be exchanged. One of the concerns, therefore, is real time events getting stuck in a queue behind other types of control events in the processor which are not time critical, and these time critical events are then not processed quickly. Delays in processing events which require real time processing directly affect system performance.
Another critical service is table services. Table services are where a large portion of learning takes place, for example building and managing memory trees or tables. If an extensive amount of learning is occurring, this too can quickly tie up the processor and delay real time events from being processed quickly. Finally, data services, basically the frame movement, when an application requires large amounts of data to be sent or retrieved from memory, can monopolize processor time, delaying real time as well as learning events, such as tree or table building. Software and processor system architecture must be taken into account with these three services all competing for processor time.